﻿using System;
using System.Collections.Generic;
using System.Text;

namespace ServiceCore.Tool.MiniProgram
{
    public class MiniProgramModel
    {
        public static dynamic Api_Url
        {
            get
            {
                dynamic result = new System.Dynamic.ExpandoObject();
                result.getAccessToken = "https://api.weixin.qq.com/cgi-bin/token"; //获取小程序全局唯一后台接口调用凭据;
                result.wxacode_getUnlimited = "https://api.weixin.qq.com/wxa/getwxacodeunlimit";
                result.auth_code2Session = "https://api.weixin.qq.com/sns/jscode2session";
                result.getPaidUnionId = "https://api.weixin.qq.com/wxa/getpaidunionid";//用户支付完成后，获取该用户的 UnionId，无需用户授权。
                 
                return result;
            }
        }
    }
    public class wx_result_base
    {
        public int errcode { get; set; }

        public string errmsg { get; set; }
    }
    public class getAccessToken_Result : wx_result_base
    {
        public string access_token { get; set; }
        public int expires_in { get; set; }
    }




    public class getUnlimited_Params
    { 
        /// <summary>
        /// 最大32个可见字符，只支持数字，大小写英文以及部分特殊字符：!#$&'()*+,/:;=?@-._~，其它字符请自行编码为合法字符（因不支持%，中文无法使用 urlencode 处理，请使用其他编码方式）
        /// </summary>
        public string scene { get; set; }
        /// <summary>
        /// 必须是已经发布的小程序存在的页面（否则报错），例如 pages/index/index, 根路径前不要填加 /,不能携带参数（参数请放在scene字段里），如果不填写这个字段，默认跳主页面
        /// </summary>
        public string page { get; set; }
        /// <summary>
        /// 二维码的宽度，单位 px，最小 280px，最大 1280px
        /// </summary>
        public int width { get; set; }
        /// <summary>
        /// 自动配置线条颜色，如果颜色依然是黑色，则说明不建议配置主色调，默认 false
        /// </summary>
        public bool auto_color { get; set; }
        /// <summary>
        /// auto_color 为 false 时生效，使用 rgb 设置颜色 例如 {"r":"xxx","g":"xxx","b":"xxx"} 十进制表示
        /// </summary>
        public object line_color { get; set; }
        /// <summary>
        /// 是否需要透明底色，为 true 时，生成透明底色的小程序
        /// </summary>
        public bool is_hyaline { get; set; } = true;
    } 
    public class getUnlimited_Result : wx_result_base
    {
        public string contentType { get; set; }

        public object buffer { get; set; }
    }

    public class code2Session_Result : wx_result_base
    {
        public string openid { get; set; }

        public string session_key { get; set; }
        public string unionid { get; set; } 
    } 
    public class getPaidUnionId_Result : wx_result_base
    {
        public string unionid { get; set; }
  
    }
}
